package morenoapp.model.view2;

import java.awt.geom.Point2D;
import morenoapp.model.data.MorenoQuestionFace;
import morenoapp.model.data.MorenoRespondentFace;
import morenoapp.model.meta.MethodGetter;
import morenoapp.model.meta.MethodSetter;
import morenoapp.model.meta.ValueIfNoModel;

/**
 *
 * @author dmitry.mamonov
 */
public interface MorenoView2Base {
    @MethodGetter
    @ValueIfNoModel("\"<empty>\"")
    String getViewName();

    @MethodSetter
    void setViewName(String _name);

    @MethodGetter
    @ValueIfNoModel("10")
    int getRingStep();

    @MethodSetter
    void setRingStep(int _step);

    @MethodGetter
    @ValueIfNoModel("false")
    boolean isDivideBySex();

    @MethodSetter
    void setDivideBySex(boolean _value);

    @MethodGetter
    @ValueIfNoModel("false")
    public boolean isDisplayRelationships(MorenoQuestionFace _quest);

    @MethodSetter
    void setDisplayRelationships(MorenoQuestionFace _quest, boolean _doDisplay);

    @MethodGetter
    @ValueIfNoModel("null")
    Point2D getRespondentPosition(MorenoRespondentFace resp);

    @MethodSetter
    void setRespondentPosition(MorenoRespondentFace resp, Point2D p);

    @MethodGetter
    @ValueIfNoModel("false")
    boolean isDisplaySex();

    @MethodSetter
    void setDisplaySex(boolean flag);

    @MethodGetter
    @ValueIfNoModel("false")
    boolean isDisplayNames();

    @MethodSetter
    void setDisplayNames(boolean flag);

    @MethodGetter
    @ValueIfNoModel("false")
    boolean isDisplayMetrics();

    @MethodSetter
    void setDisplayMetrics(boolean flag);

    @MethodGetter
    @ValueIfNoModel("false")
    boolean isDisplayTooltips();

    @MethodSetter
    void setDisplayTooltips(boolean flag);

    @MethodGetter
    @ValueIfNoModel("false")
    boolean isDisplayCorrections();

    @MethodSetter
    void setDisplayCorrections(boolean flag);

    @MethodGetter
    @ValueIfNoModel("false")
    boolean isHideMale();

    @MethodSetter
    void setHideMale(boolean flag);

    @MethodGetter
    @ValueIfNoModel("false")
    boolean isHideFemale();

    @MethodSetter
    void setHideFemale(boolean flag);

    @MethodGetter
    @ValueIfNoModel("false")
    boolean isHideRespondent(MorenoRespondentFace resp);

    @MethodSetter
    void setHideRespondent(MorenoRespondentFace resp, boolean flag);

    @MethodGetter
    @ValueIfNoModel("false")
    boolean isHideRespondentOrSex(MorenoRespondentFace resp);

    @MethodGetter
    @ValueIfNoModel("1")
    int getDisplayFirstNRelationships();

    @MethodSetter
    void setDisplayFirstNRelationships(int _value);
}
